﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DAL.Entities
{
    using System.ComponentModel.DataAnnotations;

    /// <summary>
    /// Sinh viên
    /// </summary>
    public class Sinhvien
    {
        /// <summary>
        /// Khoá chính
        /// </summary>
        [Key]
        public Guid Id { set; get; }

        /// <summary>
        /// Mã sinh viên
        /// </summary>
        [StringLength(10)]
        public string MaSV { set; get; }

        /// <summary>
        /// Họ tên
        /// </summary>
        [StringLength(50)]
        public string Hoten { set; get; }

        /// <summary>
        /// Ngày sinh
        /// </summary>
        public DateTime Ngaysinh { set; get; }

        /// <summary>
        /// Giới tính (true: nam; false: nữ)
        /// </summary>
        public Boolean Gioitinh { set; get; }

        /// <summary>
        /// Địa chỉ
        /// </summary>
        [StringLength(100)]
        public string Diachi { set; get; }

        #region Khóa ngoại tham chiếu tới
        /// <summary>
        /// Thuộc Đối tượng (khoá ngoại tham chiếu tới bảng Đối tượng)
        /// </summary>
        [ForeignKey("Doituong")]
        public Guid? DoituongId { set; get; }
        /// <summary>
        /// Thuộc Đối tượng
        /// </summary>
        public virtual Doituong Doituong { set; get; }

        /// <summary>
        /// Thuộc Lớp học (khoá ngoại tham chiếu tới bảng Lớp học)
        /// </summary>
        [ForeignKey("Lophoc")]
        public Guid? LophocId { set; get; }
        /// <summary>
        /// Thuộc Lớp học
        /// </summary>
        public virtual Lophoc Lophoc { set; get; }
        #endregion
    }
}